package P121;

/**
 * @Author DJ同学
 * @Date 2021/2/23 21:02
 * @Version 1.0
 * @Name 买卖股票的最佳时机
 * @Problem https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
 * @Idea 双指针
 * 我们要获得就是后面的数减去前一个数的最大值
 * 一个指针 代表返回过的最小值
 * 一个指针 代表一直向后走，这个过程中需要计算最大利润
 */
public class Solution {
    public int maxProfit(int[] prices) {
        int minIndex = 0;
        int res = 0;
        for(int i=1;i<prices.length;i++){
            res = Math.max(res,prices[i]-prices[minIndex]);
            if(prices[minIndex]>prices[i]){
                minIndex = i;
            }
        }
        return res;
    }
}
